草庐IT

UI 自动化测试

全部标签

javascript - Angular Run Block - 使用 UI-Router $stateProvider 来解析 Promise

UI-Router不同于Angular的ngRoute。它支持普通ngRoute可以做的所有事情以及许多额外的功能。我正在将我的Angular应用程序从ngRoute更改为UI-Router。但我不太清楚如何以编程方式注入(inject)resolve函数-我在Controller和config之外使用的代码片段。因此,使用标准Angular的ngRoute我可以在Angular运行中动态注入(inject)我的resolvepromiseblock:app.run(function($route){varroute=$route.routes['/'];route.resolve=r

javascript - 如何测试返回 Promise 的方法

我正在编写Angular2RC5应用程序,并使用Karma和Jasmine进行单元测试。我有一个返回Promise的方法(它位于对angular的http.post的调用之上)我想在完成后运行一些断言。这样的东西是行不通的letresult=myService.getFoo();result.then(rslt=>expect(1+1).toBe(3));//theerrorislost这会创建一个“UnhandledPromiserejection”警告,但错误会被抑制并且测试通过。如何根据已解决的promise运行断言?注意事项:.catch()方法似乎不是我想要的。我不想记录或做

javascript - 在 Angular 单元测试中模拟 ngResource

我有一个看起来像这样的ngResourceMockFactory:(function(){'usestrict';angular.module('app').factory('NgResourceMock',ngResourceMockFactory);ngResourceMockFactory.$inject=[];functionngResourceMockFactory(){functionNgResourceMock(){varcontext=this;context.$promise.then=function(){context.prototype.$promise.the

javascript - 测试 JavaScript 中的对象链是否有效的好方法

这个问题在这里已经有了答案:AccessingnestedJavaScriptobjectsandarraysbystringpath(44个答案)TestforexistenceofnestedJavaScriptobjectkey(64个回答)关闭6年前。考虑这个例子:if(this.plantService.plants[id]){if(this.plantService.plants[id].Name){if(this.plantService.plants[id].Name[0])returnthis.plantService.plants[id].Name[0].value

javascript - 来自 React Material UI MenuItem 单击事件的 setState

我正在尝试使用MaterialUI根据下拉选择更改状态。问题是下面的代码(精简)返回列表项,所以我不知道下一步该做什么。从handleClose方法中的console.log(event.target)返回精简组件:事件从API调用中获取。感谢您的任何想法。importReact,{Component}from"react";importButtonfrom"@material-ui/core/Button";importMenufrom"@material-ui/core/Menu";importMenuItemfrom"@material-ui/core/MenuItem";cla

javascript - 在松散类型语言的单元测试中,是否应该检查方法的返回类型?

在Java等强类型语言中,无需显式检查返回对象的类型,因为如果返回类型与方法签名不匹配,代码将无法编译。前任。当需要整数时,您不能返回bool值。在Ruby、JavaScript、Python等松散类型语言中,可以返回任何内容。编写检查从方法返回的对象类型的单元测试是否有意义?在我看来,这将确保在需要bool值的地方返回bool值。有必要在下面进行单元测试吗?=============================Ruby示例的尝试:first_module.rb:moduleFirstModuleTypeA=Struct.new(:prop1,:prop2)self.create_

javascript - 有条件地跳过 Cypress 的测试

我正在尝试找出我是否能够有条件地跳过我的测试套件中的测试it()并处理它的异步性质。我在Cypress文档中读到了条件测试https://docs.cypress.io/guides/core-concepts/conditional-testing.html还有关于它的mochajs文档https://mochajs.org/.我的目的是检查网站上是否显示错误,如果显示错误则跳过测试。否则继续断言。我试图在Cypress中测试的来自mochajs的代码片段是:it('shouldonlytestinthecorrectenvironment',function(){if(/*chec

javascript - 自动化测试中有多少断言太多?

我的任务是使用testcafe构建测试套件,在编写测试时,我偶然发现了一个特定问题“多少断言太多了?”。基本上,测试完成后,会生成一份报告。看报告不直观。例如,如果在网页上找不到某个元素,我会看到如下内容:>Selector('tads')doesnotexistintheDOM.这迫使我手动完成测试以验证失败的原因。根据testcafe文档,您可以向断言添加可选消息。asseenhere截至目前,我在一些地方对一些消息进行了断言。在每次点击或每个Action后都有一个断言(带有简明的错误消息)是否明智?(即单击登录按钮,执行断言以查看是否出现登录模式。现在登录,断言登录模式消失)代码

javascript - 针对不同浏览器的 JavaScript 中的一般单元测试概念/实践?

我一直在用强类型语言编写单元测试,对此我有很好的理解。当用JavaScript编写单元测试以验证某些功能在某些浏览器中是否正常工作时,我又回到了手动测试。我不了解它是如何工作的。因为JavaScript旨在缩小数据和表示之间的差距,并使其更具交互性。一切都在浏览器中发生,而且更多地与UI有关。所以我假设如果我要编写单元测试,我会编写类似(伪代码)的内容:runfunctionAcheckDOMifcertainelementhasbeencreatedifnotthenfailcheckifelementisvisibleifnotthenfailcheckforthecontento

javascript - IE7 问题 - 禁用自动提示文件下载时无法下载流式文件

我的应用程序是基于J2EE(JSP/Servlet)的。当我尝试从JSP打开一个新窗口(弹出窗口)并调用一个Servlet操作(例如Streamer.do),该操作在该弹出窗口中流式传输PDF文件时,我遇到了一个问题。问题:当IE7->工具->Internet选项->安全->自定义级别->下载->文件下载的自动提示被禁用并且弹出窗口打开时,我无法下载文件(保存/打开提示不会出现)。相比之下,当我启用此选项时,我可以下载。但是这个选项有时会在某些环境中被禁用。在MozillaFirefox3.0/3/5/IE6中进行测试时,它在没有任何设置更改的情况下工作正常。当我选中它以启用时,我会得